import axios from 'axios'

// 创建request 对request进行拦截各种操作
const http = axios.create({
  baseURL: import.meta.env.BASE_URL,
  withCredentials: true,
})

http.interceptors.request.use(
  (config )=>{
    const token = localStorage.getItem("token");
    if(token&&config&&config.headers) {
      config.headers.Authorization = `Bearer ${token}`;
    }
    return config;
  },
  (error) => {
    console.log(error)
    return Promise.reject(error);
  }
);

http.interceptors.response.use(
  (response)=>{
    return response;
  },
  (error)=>{
    // if(error.response.status===401){
    //   let cnt = 3; let itv:any;
    //   const toLogin = ()=>{
    //     window.$router.push("/signin")
    //   }
    //   const dialog = window.$dialog.warning({
    //     title:"登录状态已过期",
    //     content:`${cnt}秒后跳转至登录页面……`,
    //     onPositiveClick:()=>{
    //       clearInterval(itv);
    //       toLogin();
    //     },
    //     onNegativeClick:()=>{
    //       clearInterval(itv);
    //     }
    //   })
    //   itv = setInterval(()=>{
    //     if(--cnt>0){
    //       dialog.content = `${cnt}秒后跳转至登录页面……`;
    //     }else{
    //       dialog.destroy();
    //       clearInterval(itv);
    //       toLogin();
    //     }
    //   },1000);
    // }
    return Promise.reject(error);
  }
)

export default http;
